Robot controller

ABSTRACT

When a position deviation of teaching point of a robot manipulator is detected during continuous operation of a robot system, device for correcting the teaching point without stopping continuous operation of the robot system is provided, thereby presenting device for operating the robot system efficiently without having effects on productivity of the production line. Having a changeover unit for changing over modes by selecting from an input mode for entering teaching points, an operation mode for operating according to the teaching points, and an in-process correction mode for correcting the teaching points stored in the storage unit according to the data from the input unit during operation of the robot manipulator, the mode is changed over to the in process correction mode by the changeover unit, the data for correcting the teaching point is entered from the input unit, and the control unit corrects and processes according to the entered data.

TECHNICAL FIELD

The present invention relates to a robot control apparatus correctingdata taught to a robot.

BACKGROUND OF THE INVENTION

Hitherto, as the teaching method in an industrial robot system (RS)comprising a robot manipulator (RM) and a robot control apparatus, theteaching playback method has been in the mainstream. In the teachingplayback method, the operator operates the RM, and teaches positions ofplural points where the RM works. The teaching program to operatecontinuously at the plural teaching points thus taught is registered.According to the teaching program, the RM is operated and works. The RMeither passes through or stops temporarily at the teaching points. Atthe teaching point where the RM stops temporarily, for example, thetorch switch of the welding power supply unit can be turned on. In thiscase, the teaching point where the RM stops temporarily is also anoperation point.

It is a feature of the teaching playback method that the RM passesthrough the teaching point taught by the operator. However, the workinstallation position as the object of job, or the position taught bythe operator can be deviated.

There are two types of position deviation, that is,

the position deviation is significant, and the teaching point must becorrected, or

the position deviation is not so significant, but it is better tocorrect the teaching point.

Actually, however, when the operator operates the RM and teachespositions of plural points where the RM works, the former case hardlyoccurs. Most position deviations are the latter case.

In the conventional RS, when a teaching point having such positiondeviation is found, the operator stops the continuous operation of theRS once, and tries to teach a better position again.

Thus, in the conventional RS, temporary stop of the RS is required. As aresult, the productivity of the production line incorporating the RSdecreases, while other production lines suffer from effects of timedelay. Besides, the operator spent extra time for teaching again.

SUMMARY OF THE INVENTION

The present invention is intended to solve these problems. Accordingly,the invention comprises means for correcting the coordinates of teachingpoint without stopping continuous operation of the RS. By this means ofcorrecting coordinates of teaching points, the robot control apparatusof the invention is capable of working with the RS efficiently withoutlowering the productivity of the production line.

To solve the problems, the robot control apparatus composed of a controlunit and an input unit of the invention comprises:

a. the input unit connected to the control unit for entering teachingpoints of RM,

b. a storage unit for storing coordinates of teaching points enteredfrom the input unit,

c. the control unit for transmitting the data for operating the RM tothe RM, according to the data of teaching points stored in the storageunit, and

d. a changeover unit, provided in the input unit, for changing overmodes, that is, an input mode for entering teaching points, an operationmode for operating according to the teaching points, and an in-processcorrection mode for correcting the teaching point stored in the storageunit according to the data from the input unit during operation of theRS.

During continuous operation of the RS in the operation mode, whendeviated teaching points found, the operator switches the changeoverunit to the in-process correction mode. In the in-process correctionmode, the operator enters data for correcting the teaching point fromthe input unit. According to the entered data, the control unitprocesses correction. By this correction, the RM is operated accordingto the corrected data of teaching point. While the operator iscorrecting in the in-process correction mode, the RM continues to workwithout stopping the continuous operation. The RS having the robotcontrol apparatus of the invention operates as described above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an RS having a robot control apparatus ofthe invention.

FIG. 2 is a diagram showing a welding RS having the robot controlapparatus of the invention.

FIG. 3A is a block diagram of the robot control apparatus of theinvention.

FIG. 3B is a diagram showing the detail of the input unit shown in FIG.3A.

FIG. 4 is a processing flowchart of the robot control apparatus of theinvention.

FIG. 5A is a diagram schematically showing a welding line as an exampleof welding by the RS having the robot control apparatus.

FIG. 5B is a diagram schematically showing an example of correction ofposition of welding points in FIG. 5A.

FIG. 6 is a flowchart for realizing the invention.

FIG. 7A shows the passing sequence of teaching points shown in FIG. 5A

FIG. 7B shows the passing sequence of teaching points when the teachingpoint to be corrected is corrected before operating the teaching pointto be corrected shown in FIG. 5B.

FIG. 7C shows the passing sequence of teaching points when correctingand teaching during operation of the teaching point to be correctedshown in FIG. 5B.

FIG. 8A is a diagram showing an example of a list of welding lines.

FIG. 8B is a diagram showing an example of coordinates of one weldingpoint in FIG. 5A.

FIG. 9 is a flowchart for realizing selection of welding line andselection of welding point of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, preferred embodiments of the inventionare described in detail below.

Embodiment 1

FIG. 1 is a schematic diagram of an RS using a robot control apparatusin embodiment 1. FIG. 2 is a schematic diagram showing a welding RSusing the robot control apparatus in embodiment 1. FIG. 3A is a blockdiagram of the robot control apparatus of the invention. FIG. 3B is adiagram showing the detail of the input unit shown in FIG. 3A. FIG. 4 isflowchart of the robot control apparatus of the invention.

The RS comprises an RM 11, and a robot control apparatus 150 inembodiment 1 for controlling the RM 11. A welding RS includes a weldingpower supply unit 19 in addition to the RS.

The RM 11 includes motors 25 for driving each axis of the RM, and a tool18 attached to the final leading end axis. Each motor 25 has an encoder26. In the case of the RM 11 for the welding RS, a wire 21 is suppliedto the tool 18 from a wire feeder 20. The wire feeder 20 is mounted onthe RM 11.

The robot control apparatus 150 for controlling the operation of the RM11 in embodiment 1 comprises:

a. an input unit 17 for operating the RM 11, and entering teaching datasuch as positions (teaching points) of the RM 11 and operationinstructions as the RS, and

b. a control unit 15 connected to the input unit.

The control unit 15 connected to the input unit 17 comprises:

a. a read-only memory (ROM) 12 storing a processing program forcontrolling the RM 11,

b. a random access memory (RAM) 16 for storing the teaching data enteredfrom the input unit,

c. a CPU 13 for reading out necessary data from the RAM 16 and ROM 12,and instructing an operation to the RM 11, and

d. a servo 14 for generating a signal for controlling the motor of theRM 11 according to the operation instruction from the CPU 13, andtransmitting the signal to the motor.

The RAM 16, the storage unit, has a data region 162 for storing theteaching data entered from the input unit 17, and a vacant region 164 inwhich data is not stored. To hold the data in the storage unit RAM 16, abackup battery (not shown) is prepared.

The input unit 17 comprises:

an operation unit 172 for operating the RM for teaching,

an input key pad 174 for entering various teaching data,

a mode changeover unit 176 for changing over modes,

a coordinates changeover unit 178 for changing over systems ofcoordinates, and

a display unit 180 for displaying teaching data, etc.

The processing program creates a teaching program for operating the RSby interpreting the teaching data taught through the input unit 17, suchas the position (teaching point) of the RM and operation instruction asthe RS. The created teaching program is stored in the data region 162 ofthe RAM 16 together with its program number.

The changeover unit 176 is for selecting three modes, that is, inputmode, operation mode, and in-process correction mode. In the input mode,the operator enters teaching data. In the operation mode, the RSoperates according to the teaching program created on the basis of theteaching data. In the in-process correction mode, the operator cancorrect the teaching data stored in the storage unit during operation ofthe RS through the input unit 17.

The operation of the RM 11 having these devices is explained below whilereferring to FIG. 4.

The CPU 13;

reads out teaching data from the RAM 16,

reads out a processing program from the ROM 12, and executes the aboveprocessing program,

creates a motion track of the RM 11 based on the teaching data, and

sends an operation instruction to the servo 14 based on the createdmotion track.

Next, the servo 14 transmits a motor control signal to the motor 25 ofthe RM 11 according to the operation instruction commanded from the CPU13. Based on this motor control signal the motor 25 rotates, and the RM11 is operated. The rotating speed of the motor 25 and the positioninformation during rotation are fed back to the servo 14 by the encoder26 attached to the motor 25. Based on the position information thusbeing fed back, the servo 14 controls the motor control signal.

An example of welding a workpiece as shown in FIG. 5A is explainedbelow.

When welding such a workpiece as shown in FIG. 5A, the operator sets thechangeover unit 176 of the input unit 17 in the input mode, and the RM11 is operated by the operation unit 172 of the input unit 17, and thewelding operation is taught. The welding operation to be taught includesthe position, stance and moving speed of the RM 11 and on/off switchingof torch switch of the welding power supply unit 19. The operator canenter the teaching data while confirming the display content shown inthe display unit 180. The taught welding operation is stored in the dataregion 162 of the RAM 16 as teaching data. From the teaching data, ateaching program is compiled by the processing program stored in the ROM12. The teaching program is stored in the data region 162 of the RAM 16together with its program number.

For example, the operator teaches:

1. coordinates of a first free-run point P11 before welding operation ofthe tool 18 of the RM 11,

2. coordinates of welding start point P12, and moving speed fromfree-run point P11 to welding start point P12,

3. start (ON) of operation of welding power supply unit at welding startpoint P12, and moving speed to specified point (P14),

4. coordinates of welding middle point P13 at passing position atspecified speed while welding,

5. coordinates of welding end point P14, and

6. end (OFF) of welding power supply unit at welding end point P14.

Herein, the track passing through the welding start point P12, weldingmiddle point P13, and welding end point P14 is called a first weldingline. The teaching data is identified with teaching data numbers in thesequence of operation of the RS. Items 1 to 6 above correspond to thegiven teaching data numbers.

Thereafter, a second welding line (P22, P23, P24) is taught from asecond free-run point P21, and a third welding line (P32, P33, P34) istaught from a third free-run point P31.

The teaching program obtained from the teaching data is stored in thedata region 162 of the RAM 16 together with the program number.

The operator, after the teaching program is created, sets the changeoverunit 176 of the input unit 17 in the operation mode, and instructsoperation of the RS. By this instruction, the RS executes the teachingprogram.

Suppose the RS is operating this teaching program.

Herein, the operator is instructing to weld block 402 shown in FIG. 5A.Supposing the actual position of block 402′ to be the position indicatedby broken line in FIG. 5B, the teaching coordinates of P33 shown in FIG.5A must be corrected to the position of P33′ shown in FIG. 5B.

The RS having the robot control apparatus of the invention has an inprocess correction mode for correcting the coordinates of teachingpoints during RS operation. FIG. 6 shows a flow of shift processing forcorrecting the coordinates of teaching points during RS operation.Herein, shift processing is the process for correcting teaching dataduring RS operation in the in-process correction mode.

Referring to FIG. 6, the shift processing for correcting the coordinatesof teaching points is explained below.

Step 61: The mode changeover unit 176 of the input unit 17 is set to thein-process correction mode.

Step 62: The operator selects a welding line to be corrected.

Step 63: The operator selects a teaching data number of the weldingpoint to be corrected of the selected welding line.

Step 64: The operator enters the shifting distance of the position ofteaching coordinates in X, Y, Z directions, and executes the shiftprocessing.

Step 65: When the shift processing is executed at step 64, theprocessing program stored in the ROM 12 checks if the temporary regionfor copying the selected teaching data is present in a vacant region 164in the RAM 16 or not.

Step 66: If a sufficient temporary region is not present in a vacantregion 164 at step 65, an error message is displayed in the display unitof the input unit 17, and the processing is suspended.

Step 67: If a sufficient temporary region is present in a vacant region164 at step 65, the processing program stored in the ROM 12 copies thedata at the teaching point selected at step 63 in the temporary regionof the RAM 16.

Step 68: The processing program stored in the ROM 12 operates for shiftprocessing of teaching point. The position data after operation iswritten over the data copied in the temporary region of the RAM 16.However, the data in the data region of the RAM 16 is not written overyet at this moment.

Step 69: The processing program stored in the ROM 12 checks whether theposition data after operation for shift processing is within theoperation range of the RM and is available for operation or not.

Step 70: When there is an abnormality in the position data afteroperation for shift processing at step 69, the processing program judgesif it is an error. If it is judged as an error, the processing programstored in the ROM 12 displays an error message, and suspends theprocessing.

Step 71: If the position data after shift operation is within operationrange at step 69, it is checked whether the teaching point to be shiftedis in operation or not. When the teaching point to be shifted is inoperation, if the teaching point in operation is written over, the robotmay operate according to imperfect data during overwrite, and may actabnormally. To prevent this, the processing program stored in the ROM 12checks if the teaching point to be shifted is in operation or not.

While the RM is operating the teaching point to be shifted, it isdesigned to wait the data update processing for writing the data in thetemporary region over the data in the data region 162 until the RMterminates the operation of this teaching point.

Step 72: When the teaching point to be shifted is not in operation, theprocessing program updates the data in the temporary region of the RAM16 by copying to the data region 162 of the RAM 16.

When the RM terminates the operation of the teaching point to beshifted, the processing program stored in the ROM 12 immediately updatesdata.

By this updating process, the position correction of the teaching pointis complete.

If the shift processing is suspended at step 66 or step 70, theprocessing of the workpiece is not suspended but the operationcontinues.

The passing process of the tool 18 of the RM 11 through the teachingpoints explained in FIG. 6 is described below by referring to FIGS. 7A,7B, 7C.

FIG. 7A shows the passing order of teaching points taught by theoperator as shown in FIG. 5A. In this state, as shown in FIG. 5B, P33 iscorrected to P33′. When the tool 18 of the RM 11 finishes correction ofthe teaching point by the passing position of the line 701 shown in FIG.7B, the tool 18 of the RM 11 passes the corrected teaching point (P33).However, if the tool 18 of the RM 11 does not finish correction of theteaching point by the passing position of the line 701 shown in FIG. 7B,the tool 18 of the RM 11 passes the uncorrected teaching point (P33).FIG. 7B shows the passing order of teaching points when the teachingpoints to be corrected are corrected before operating at such pointsshown in FIG. 5B. FIG. 7C shows the passing order of teaching pointswhen correcting and teaching of the teaching points to be correctedshown in FIG. 5 B are done during operation The workpiece currentlyunder process is processed as shown in FIG. 7C. However, the workpieceto be processed next is processed when it passes the corrected teachingpoint shown in FIG. 7B.

During a series of such process, the shifting process can be executedwithout stopping the operation of the RS.

While the RM is operated at the teaching point to be shifted, dataupdating is kept in waiting state. By this process, even in the teachingprogram executed at the present, the shift processing is enabled.

Hitherto, in order to correct position of teaching points, the RS muststop the continuous operation temporarily, and correct the teachingpoints. By this invention, the position of the teaching point can becorrected without stopping continuous operation of the RS, so that theposition of the teaching point can be corrected efficiently withoutlowering the productivity of the production line.

Embodiment 2

A robot control apparatus 150 in a second embodiment relates to awelding RS.

The robot control apparatus 150 in the second embodiment is basicallythe same in structure as the RS in the first embodiment.

In the welding RS shown in FIG. 2, fine adjustment of welding lineposition is done frequently. In this case, shifting process for fineadjustment of welding line position is done frequently.

When shifting process is needed in the welding RS, the operator sets themode changeover unit 176 of the input unit 17 to the in-processcorrection mode. By this setting, a list of welding lines isautomatically shown in the display unit 180 of the input unit 17.

For example, when the operator sets the mode changeover unit 176 to thein-process correction mode, as shown in FIG. 8A, a list of welding linesis shown in the display unit 180 of the input unit 17. From the list ofwelding lines being displayed, the operator selects a correspondingwelding line, and further selects a welding point from the selectedwelding line. In FIG. 8A, a number display unit 802 shows the number ofthe welding line, and a teaching point display unit 804 shows thecorresponding teaching point of the welding line. Also from the list ofthe welding lines in FIG. 8A, when a teaching point required to becorrected is selected, as shown in FIG. 8B, the teaching point number isdisplayed in a number column 806, and axes X, Y and Z are displayed in acoordinate axis column 808. A coordinate column 810 is vacant. When thetable shown in FIG. 8B is displayed, the operator enters the numericalvalue to be shifted in specified coordinates by means of the input keys174.

Thus, in the in-process correction mode, a setting function is providedfor limiting in a specific range from taught multiple teaching pointsthat can be corrected.

FIG. 9 is a flowchart of shifting process of fine adjustment of weldingline position in the case that the teaching program is a weldingprogram.

Step 91: The mode changeover unit 176 of the input unit 17 is set to thein-process correction mode. By this setting, the range from weldingstart point to welding end point is searched as one welding line, and alist of welding lines is displayed in the display unit 180 of the inputunit 17 (see FIG. 8A).

Step 92: The operator selects the welding line for shifting process fromthe list of welding lines displayed.

Step 93: The operator selects the welding point for shifting processfrom the selected welding line. By this selection, the coordinates forshifting process are shown as in FIG. 8B.

Step 94: When FIG. 8B is displayed, the operator enters the amount ofthe shift in the vacant column of the coordinates to be corrected.

The subsequent process is the same as explained at step 65 and after inthe first embodiment shown in FIG. 6.

By displaying the list of welding lines, the operator can easily specifythe welding lines which require corrections. Further, in the list ofwelding lines, by displaying teaching points of each welding line, theoperator can easily search the teaching points which requirecorrections. By this search, the operator easily selects the teachingpoint for executing shifting process. Thus, the input unit 17 comprisesmeans for displaying to specify the teaching points that can becorrected, selecting the teaching point to be corrected, and correctingand setting the selected teaching point, so that the correction is doneeasily.

The robot control apparatus of the invention comprises one of thefollowing systems of coordinates X, Y, Z for shifting the welding point:

an absolute system of coordinates based on a preset machine origin ofthe RM,

a tool system of coordinates based on the tool (hand) attached to thefinal leading end of the RM, and

a user system of coordinates arbitrarily set by the user.

In this case, between step 93 and step 94 in the flowchart in FIG. 9,the system of coordinates for shifting the welding point is selected.The operator sets the coordinate changeover unit 178 of the input unit17, selects an appropriate system of coordinates from three systems ofcoordinates given above, and determines the X, Y, Z direction in theshifting process. As a result, the operator can correct the teachingpoint to the desired position.

Thus, according to the invention, by changing over to the in-processcorrection mode, the position of teaching point of the RM can becorrected during continuous operation of the RS. It hence realizes anexcellent robot control apparatus capable of correcting the position ofteaching point without causing effects on the productivity of theproduction line.

When the RM attempts to correct the teaching point in operation, itwaits until the operation is over and process correction after that, sothat it realizes an excellent robot control apparatus capable ofpreventing operation of the RM with imperfect data in the midst ofcorrection.

Further, by the display unit of list of welding lines, for example, whencorrecting only the welding teaching point, the operator can select theteaching point to be corrected more easily, so that an excellent robotcontrol apparatus may be realized.

Moreover, by preparing three systems of coordinates as the directions ofthe axes of coordinates when correcting the teaching point, anappropriate system of coordinates is selected and the correctiondirection of teaching point can be determined, so that an excellentrobot control apparatus capable of selecting the system of coordinatesdepending on the work shape and other conditions may be realized.

A robot manipulator of a robot system incorporating the robot controlapparatus of the invention is presented as an example of multi-jointrobot. However, the robot of the robot system using the robot controlapparatus of the invention may be also realized by an orthogonal robot.

The robot control apparatus of the invention is explained in the exampleof welding. However, the robot control apparatus of the invention maybe, for example, also applied in an object conveying system by replacingthe tool 18 attached to the final leading end of the robot manipulatorwith a robot hand for gripping and releasing an object.

The robot control apparatus of the invention is also applied in apainting system by replacing the tool 18 attached to the final leadingend of the robot manipulator with a painting nozzle, and the weldingpower supply unit 19 with a painting power supply unit.

The robot control apparatus of the invention is also applied in a robotlaser processing machine by replacing the welding power supply unit 19with a laser oscillator, and the tool 18 attached to the final leadingend of the robot manipulator with a focusing unit incorporating a laserbeam focusing lens.

Industrial Applicability

According to the invention, the operator, by changing over to the inprocess correction mode, can correct the position of the operation pointof the robot during continuous operation of the robot. Therefore, itrealizes an excellent robot control apparatus capable of correcting theposition of operation point without causing effects on the productivityof the production line.

When the robot attempts to correct the operation point in operation,waiting until the operation is over, correction is processed afteroperation. Therefore, it realizes an excellent robot control apparatuscapable of preventing operation of the robot with imperfect data in themidst of correction.

Further, by using the setting means for limiting the operation pointsthat can be corrected, for example, when correcting only the weldingoperation point, the operator can select the operation point to becorrected more easily, so that an excellent robot control apparatus maybe realized.

Moreover, the setting means for selecting the direction of the axis ofcoordinates when correcting the operation point from arbitrary systemsof coordinates and determining the correction direction of operationpoint is provided. Therefore, it realizes an excellent robot controlapparatus capable of selecting the system of coordinates depending onthe work shape and other conditions.

What is claimed is:
 1. A robot control apparatus including an input unitand a control unit comprising: a storage unit for storing data ofteaching points entered from said input unit; and a changeover unitprovided in said input unit for changing over modes by selecting from aninput mode for entering data of teaching points, an operation mode foroperating the robot manipulator according to the entered data ofteaching points, and an in-process correction mode for correcting thedata of teaching points stored in said storage unit according to thedata from said input unit during operation of the robot manipulator,wherein said input unit for entering teaching points of a robotmanipulator is connected said control unit, and wherein said controlunit transmits data for operating the robot manipulator to a drive unitof the robot manipulator according to the data of teaching points storedin said storage unit.
 2. The robot control apparatus of claim 1,wherein, in the in-process correction mode, only the teaching points notput in operation yet can be corrected, and teaching points duringoperation are corrected after completion of operation.
 3. The robotcontrol apparatus of claim 2, further comprising: a display unit forspecifying the teaching points that can be corrected, in the in-processcorrection mode, and means for selecting the teaching points to becorrected therefrom, and correcting and setting the selected teachingpoints.
 4. The robot control apparatus of claim 2, further comprisingsetting means for determining the correction direction of the teachingpoint by selecting the system of coordinates, in the in-processcorrection mode, from an absolute system of coordinates on the basis ofa preset machine origin of the RM (robot manipulator), a tool system ofcoordinates on the basis of the tool attached to the final leading endof the RM (robot manipulator), and a user system of coordinatesarbitrarily set by the user.
 5. The robot control apparatus of claim 1,further comprising: a display unit for specifying the teaching pointsthat can be corrected, in the in-process correction mode, and means forselecting the teaching points to be corrected therefrom, and correctingand setting the selected teaching points.
 6. The robot control apparatusof claim 5, further comprising setting means for determining thecorrection direction of the teaching point by selecting the system ofcoordinates, in the in-process correction mode, from an absolute systemof coordinates on the basis of a preset machine origin of the RM (robotmanipulator), a tool system of coordinates on the basis of the tool(hand) attached to the final leading end of the RM (robot manipulator),and a user system of coordinates arbitrarily set by the user.
 7. Therobot control apparatus of claim 1, further comprising setting means fordetermining the correction direction of the teaching point by selectingthe system of coordinates, in the in-process correction mode, from anabsolute system of coordinates on the basis of a preset machine originof the RM (robot manipulator), a tool system of coordinates on the basisof the tool attached to the final leading end of the RM (robotmanipulator), and a user system of coordinates arbitrarily set by theuser.